home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Xenosoft 2
/
Xenosoft 2 (Game collection)(1994).iso
/
bioforge
/
script
/
tunmon.scp
< prev
next >
Wrap
Text File
|
1994-12-01
|
13KB
|
590 lines
// *** TUNROOM MONITOR PROCESSES ***
{ FACINGPILLARBASE
P ~ÇÇ
~ÇÇ = @Ç│ CURFIG PIL_BASE
I ( (~ÇÇ < -40) OR (~ÇÇ > 40) ) THEN
é 0
// CHECK DISTANCE FROM WAY POINT - NOT IMPLEMENTED
é 1
}
// STARTING FROM 'LEFT' SIDE OF PILLAR BASE ....
{ TMBOTL_USE
I (@Ç¥ FACINGPILLARBASE != 1) THEN
é
A OFF
@Ç¥ NEUTRALIZEPILLARBASE // SO WON'T GET STUCK
// GOTOTML2
// TML2 -> TML1 -> TM0
G TML2 WALK $âö
@Çì GOTOTML1
}
{ TMLFT_USE
I (@Ç¥ FACINGPILLARBASE != 1) THEN
é
A OFF
@Ç¥ NEUTRALIZEPILLARBASE // SO WON'T GET STUCK
@Çì GOTOTML1
}
{ GOTOTML1
// TML1 -> TM0
G TML1A WALK $âö
G TML1 WALK $âö
@Çì GOTOTML0
}
// STARTING FROM 'RIGHT' SIDE OF PILLAR BASE ....
{ TMBOTR_USE
I (@Ç¥ FACINGPILLARBASE != 1) THEN
é
A OFF
@Ç¥ NEUTRALIZEPILLARBASE // SO WON'T GET STUCK
// GOTOTMR2
// TMR2 -> TMR1 -> TM0
G TMR2 WALK $âö
@Çì GOTOTMR1
}
{ TMRGT_USE
I (@Ç¥ FACINGPILLARBASE != 1) THEN
é
A OFF
@Ç¥ NEUTRALIZEPILLARBASE // SO WON'T GET STUCK
@Çì GOTOTMR1
}
{ GOTOTMR1
// TMR1 -> TM0
G TMR1A WALK $âö
G TMR1 WALK $âö
@Çì GOTOTML0
}
{ TUBEMON_USE
I (@Ç¥ FACINGPILLARBASE != 1) THEN
é
A OFF
@Ç¥ NEUTRALIZEPILLARBASE // SO WON'T GET STUCK
@Çì GOTOTML0
}
// GO TO TML0 WAYPOINT AND PROCESS TUBE ACTIVATION MONITOR
{ GOTOTML0
// GO TO WAY POINT, FACE CONSOL, THEN LOOK AT CONSOL
// IF ALREADY NEAR TM0, JUST STAND THERE
I @Ç╗ CURFIG TM0 > 30 THEN
G TM0 WALK $âÆ
£ TMFACE GRADUAL
// FIRST MAKE SURE PLAYER IS IN THE CORRECT CAMERA VIEW
// SHOULD!HAVE TO DO THIS IF WAYPOINT TM0 IS PLACED CORRECTLY IN CAMERA TUN2
I @ÇÄ (TUN2) = $Ç╗ THEN C TUN2
^é╣ = 0
@Çè (^é» ,+1,1,16,3)
@Çè (^é░ ,+1,1,16,3)
@Çì TUBEMON_UP
// ALLOW ABOVE PROCESS TO COMPLETE & & BE VISABLE A COUPLE OF SECONDS
W 60
M LOOK_CONSOLE FREEZE
@Ç¥ TS_TUBEACTIVATIONMONITOR
@Ç¥ POSITIZEPILLARBASE // SET BACK TO POSITIVE SPACE
G TM0 $âÆ // MAKE SURE BACK WHERE START -!JUMP ON BASE
£ 0
M STAND CONTINUE
@Çè (^é» ,-1,16,1,3)
@Çè (^é░ ,-1,16,1,3)
@Çì TUBEMON_DOWN
W 60
^é╣ = 1
A ON
C UNLOCK
W 5 SECONDS
I ^é║ = 15 THEN
i LEX LEXAL
E
{
I ^é║ = 3 THEN
i LEX TUNPUZ
E
i LEX TRMON
}
}
{ NEUTRALIZEPILLARBASE
// SO WON'T GET STUCK
I (^é╛ != $é╝ ) THEN
{
^é╛ = $é╝
^é┐ = $é╝
^âÇ = $é╝
^âü = $é╝
^âé = $é╝
}
}
{ POSITIZEPILLARBASE
// SET BACK TO POSITIVE SPACE
I (^é╛ != $é╗ ) THEN
{
^é╛ = $é╗
^é┐ = $é╗
^âÇ = $é╗
^âü = $é╗
^âé = $é╗
}
}
[ TUBEMON_UP
00:00 @Çå (`ää ,255,-2048)
01:00 @Çå (`üé ,150,-3072)
]
[ TUBEMON_DOWN
00:00 @Çå (`ää ,255,-2048)
00:00 @Çå (`üé ,150,-3072)
]
// ***************** INTERACTIVE MONITOR SECTION *****************
// 7.35 TUBEWAY STATION/TUBE ACTIVATION MONITOR
// 3/17/94 JAMIE ROOD
// ALLOWS OPENING/CLOSING OF 1 TUBE.
{ TS_TUBEACTIVATIONMONITOR
P ~ÇÇ
P ~Çü
P ~Çé
P ~Çâ
P ~Çä
P ~Çà
P ~Çå
P ~Çç
P ~Çê
P ~Çë
I ( @Çú () ) THEN é
// RESET FLAGS
~ÇÇ = 0
~Çü = 0
~Çé = 0
~Çâ = 0
~Çä = 0
~Çà = 0
~Çå = 0
~Çç = 0
~Çê = 0
~Çë = 0
// THE IDEA IS TO TOGGLE A BUTTONS #1-8 WHEN PRESSED AND USED THEIR
// UNIQUE COMBINED # TO DERTERMINE THE ART FRAME (PUZZLE SOLVER?)
"tunm"
J #ÇÅ
:LOOP
â
J #ÇÄ
// ENTER BUTTONS....
:ENTER_BUTTONS
m
// MAIN SCREEN BUTTONS...
"TN1B" "/! " $Ç¡ $Ç▒
"TN2B" "/! " $Ǽ $Ç▒
"TN3B" "/! " $Ǽ $Ç▒
"TN4B" "/! " $Ǽ $Ç▒
"TN5B" "/! " $Ǽ $Ç▒
"TN6B" "/! " $Ǽ $Ç▒
"TN7B" "/! " $Ǽ $Ç▒
"TN8B" "/! " $Ǽ $Ç▒
"SOLB" "/! " $Ǽ $Ç▓
"SOLA" ~Çë
J #ÇÄ
:TN1B_BUTTON
@Çå (`äê , 200, -2048)
I ( ~ÇÇ == 0 ) THEN
{
~ÇÇ = 1
}
E
{
~ÇÇ = 0
}
J #Çÿ
:TN2B_BUTTON
@Çå (`äê , 200, -2048)
I ( ~Çü == 0 ) THEN
{
~Çü = 2
}
E
{
~Çü = 0
}
J #Çÿ
:TN3B_BUTTON
@Çå (`äê , 200, -2048)
I ( ~Çé == 0 ) THEN
{
~Çé = 4
}
E
{
~Çé = 0
}
J #Çÿ
:TN4B_BUTTON
@Çå (`äê , 200, -2048)
I ( ~Çâ == 0 ) THEN
{
~Çâ = 8
}
E
{
~Çâ = 0
}
J #Çÿ
:TN5B_BUTTON
@Çå (`äê , 200, -2048)
I ( ~Çä == 0 ) THEN
{
~Çä = 16
}
E
{
~Çä = 0
}
J #Çÿ
:TN6B_BUTTON
@Çå (`äê , 200, -2048)
I ( ~Çà == 0 ) THEN
{
~Çà = 32
}
E
{
~Çà = 0
}
J #Çÿ
:TN7B_BUTTON
@Çå (`äê , 200, -2048)
I ( ~Çå == 0 ) THEN
{
~Çå = 64
}
E
{
~Çå = 0
}
J #Çÿ
:TN8B_BUTTON
@Çå (`äê , 200, -2048)
I ( ~Çç == 0 ) THEN
{
~Çç = 128
}
E
{
~Çç = 0
}
J #Çÿ
// EACH ONE HAS A UNIQUE BINARY NUMBER
:CHECKCOMBOS
// ALL ASSIGNED #S THAT WHEN ADDED ADD UP TO A UNIQUE # FOR EACH
// COMBINATION
~Çê = ~ÇÇ + ~Çü
~Çê += ~Çé
~Çê += ~Çâ
~Çê += ~Çä
~Çê += ~Çà
~Çê += ~Çå
~Çê += ~Çç
// B1 = 1, B2 = 2, B3 = 4, B4 = 8, B5 = 16, B6 = 32, B7 = 64, B8 = 128
N ( ~Çê )
{
// _B3_B4_B8
U 140 // #1 TEMPLE
~Çë = 1
X ÇÇ
// _B4_B5_B8
U 152 // #2 ZERO-G
~Çë = 2
X ÇÇ
// _B3_B4
U 12 // #3 GRAVITY RING
~Çë = 3
X ÇÇ
// _B1_B4
U 9 // #4 DIGSITE
~Çë = 4
X ÇÇ
// _B1_B4_B7
U 73 // #5 ABOVE TUBE #1
~Çë = 5
X ÇÇ
// _B1_B4_B5
U 25 // #6 ABOVE TUBE #2
~Çë = 6
X ÇÇ
// _B2_B5_B8
U 146 // #7 ABOVE TUBE #3
~Çë = 7
X ÇÇ
// _B4_B7
U 72 // #8 ABOVE TUBE #4
~Çë = 8
X ÇÇ
V
~Çë = 0
}
// IF SUCCESSFUL, SET _TUBE_MON_FAILURE TO ARBITRARY VALUE
I ~Çë != 0 THEN
^é║ = 15
/// SET FRAME TO THE PROPER ONE FOR THIS COMBINATION
"SOLA" ~Çë
J #ÇÄ
:SOLB_BUTTON
@Çå (`ä¢ , 200)
// UPDATE _TUBESOPEN
c ^éª ~Çë
// SET TNX (TUNNEL ACTIVATION INDICATOR) FRAMES 0 | 1 ACCORDING TO FLAGS
// THE TEMPLE TUBE FLASHES ON/OFF UNTIL WE HAVE RAISED THE STATUE
// WITH THE TEMPLE MONITOR. THIS IS HANDLED AUTOMATICALLY BY
// THE PROCESS TEMPLE_TUBE_ANI. -BES
//_TN1_FRAME = @GETFLAG( _TUBESOPEN, 1 )
^é¿ = @ÇÅ ( ^éª , 2 )
^é▓ = @ÇÅ ( ^éª , 2 )
^é⌐ = @ÇÅ ( ^éª , 3 )
^é│ = @ÇÅ ( ^éª , 3 )
^é¬ = @ÇÅ ( ^éª , 4 )
^é┤ = @ÇÅ ( ^éª , 4 )
^âó = @ÇÅ ( ^éª , 4 )
^âú = @ÇÅ ( ^éª , 4 )
^é½ = @ÇÅ ( ^éª , 5 )
^é╡ = @ÇÅ ( ^éª , 5 )
^é¼ = @ÇÅ ( ^éª , 6 )
^é╢ = @ÇÅ ( ^éª , 6 )
^é¡ = @ÇÅ ( ^éª , 7 )
^é╖ = @ÇÅ ( ^éª , 7 )
^é« = @ÇÅ ( ^éª , 8 )
^é╕ = @ÇÅ ( ^éª , 8 )
// CONTINUE TO EXIT
// IF WE JUST OPENED/CLOSED SHRIMP TUBE (#8 - ABOVE DIGSITE TUBE)
// IF (_COMBO_FRAME = 8) THEN
// TAKES AWHILE TO CREATE SHGRIMP SO DO IT WHILE EXITING MONITOR
@Çì CHECKACTIVATESHRIMP
:ESCAPE_BUTTON
@Çå (`ëè , 200, -2048)
I ^é║ < 3 THEN
^é║ ++
}
{ TMPL_MON_USE
// THE MONITOR DOESN'T WORK IF THE ALIEN CITY IS DEACTIVATED OR IF THE
// TUBE HAS NO POWER
I ^çô = $Ç╗ THEN
{
^ìâ = 1
M LOOK_AT_MON
W 1 SECOND
i LEX TEMPMON1
é
}
// WE'VE SEEN THE ALIEN CITY, BUT THE TUBE'S NOT ACTIVATED
I @ÇÅ (^éª ,1) = $Ç╗ THEN
{
M LOOK_AT_MON
W 1 SECOND
i LEX TEMPMON2
é
}
// CENTERED AT -90 - A LITTLE MORE LEEWAY TO THE RIGHT
I ( @Çä IN (-120,-50) ) THEN
{
M LOOK_AT_MON
A OFF
I ^ìâ = 1 THEN
@Çì ADDTEMPLEMONLOG3
@Ç¥ TS_CAMERAVIEWSOPENTEMPLE
A ON
M STAND CONTINUE
}
}
{ ADDTEMPLEMONLOG3
^ìâ = 2
W 1 SECOND
i LEX TEMPMON3
}
// 7.36 TUBEWAY STATION/CAMERA VIEWS - OPEN TEMPLE
// SHOWS VIEW INTO TEMPLE AND OPEN OR CLOSES IT.
{ TS_CAMERAVIEWSOPENTEMPLE
P ~ÇÇ
"tmpm"
^ìä = $Ç╝
// VIEWPORT INTO TEMPLE
C UNLOCK
C "TMP1"
"tmpv" "tmp1"
:INIT
// BUTTONS
// INIT TO NOT SELECTABLE
// ALLOW TO CLOSE FROM CURRENT _WAK_FRAME IF
"opnb" $Ç░
"clsb" $Ç░
I (^î╢ = $âï ) THEN
"opnb" $Ǽ
E
I (^î╢ >= 22) THEN
"clsb" $Ǽ
"xitb" $Ǽ
:LOOP
â
// ONCE THE PROCESS IS COMPLETED, RESET THE BUTTONS
//IF _PROCESSHANDLE AND @ISPROCESSVALID(_PROCESSHANDLE) = _FALSE THEN
// {
// _PROCESSHANDLE = 0
// JUMP INIT
// }
J #ǃ
:OPNB_BUTTON
@Çå (`ëë , 200)
// DISABLE BUTTON IF CURRENTLY CHANGING STATE OF TEMPLE ENTRANCE
// IT WOULD BE COOL TO LET PLAYER INTERCEPT THE CURRENT STATE OF THE
// CLOSING DOOR AND HAVE IT REVERSE DIRECTION, BUT IT IS DIFFICULT
// TO HANDLE THE SOUND EFFECTS DOING IT THIS WAY -BES
I @Çó (~ÇÇ ) THEN J #ǃ
I (^î╢ != $âî ) THEN
{
~ÇÇ = @Çì OPENTEMPLE
"opnb" $Ç░
"clsb" $Ç░
:OPENTEMPLE_STATUS
â
I @Çó ~ÇÇ THEN J #Çí
~ÇÇ = 0
"clsb" $Ǽ
}
//JUMP INIT
J #ǃ
:CLSB_BUTTON
@Çå (`ëë , 200)
I @Çó (~ÇÇ ) THEN J #ǃ
I (^î╢ != $âï ) THEN
{
~ÇÇ = @Çì CLOSETEMPLE
"opnb" $Ç░
"clsb" $Ç░
:CLOSETEMPLE_STATUS
â
I @Çó ~ÇÇ THEN J #Çú
~ÇÇ = 0
"opnb" $Ǽ
}
//JUMP INIT
J #ǃ
:XITB_BUTTON
:ESCAPE_BUTTON
@Çå (`ëè )
@Ç¥ TS_SHUTDOWN_TEMPLE_MON
}
{ TS_SHUTDOWN_TEMPLE_MON _NO_FORCING_CAMERA
@Çå (`ëè , 200)
C UNLOCK
~ÇÇ
^ìä = $Ç╗
}
{ CHECKACTIVATESHRIMP
P ~ÇÇ
// IF SHRIMP IS DEAD AND SHRIMP TUBE STILL OPEN,
// WAIT ~SECOND THEN DROP ANOTHER OUT THE TUBE CHUTE
I ( (^î₧ = $Ç╗ ) THEN
{
~ÇÇ = 0
I ( @ÇÅ ( ^éª , 8 ) ) THEN
~ÇÇ = 1
E I ( @ÇÅ ( ^éª , 7 ) ) THEN
~ÇÇ = 2
E I ( @ÇÅ ( ^éª , 5 ) ) THEN
~ÇÇ = 3
E I ( @ÇÅ ( ^éª , 6 ) ) THEN
~ÇÇ = 4
I ( ~ÇÇ ) THEN
{
// CREATE THE SHRIMP HERE
// ..CREATE TAKES AWHLIE
F SHRIMP
n CURFIG SHRIMP3
^î₧ = $Ç╝
@Ç¥ READY_SHRIMP3 ~ÇÇ
@Ç¥ ACTIVATE_SHRIMP3
}
}
}
//$ 26 - version number